home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / MEMORY / OLD / MEM208SRC / FSLib / c / ticker < prev    next >
Text File  |  1993-08-22  |  954b  |  45 lines

  1. /* Original code (c) Acorn Computers Ltd, 1992-3 */
  2.  
  3. /* $Id: c.ticker 2.3 92/10/26 23:37:49 bdb Exp Locker: bdb $ */
  4. #include "kernel.h"
  5. #include "swis.h"
  6. #include "_swis.h"
  7. #include "modulewrap.h"
  8.  
  9. #include "ticker.h"
  10.  
  11. void setcallafter(void *private_word)
  12. {
  13.   _kernel_swi_regs r;
  14.   r.r[0] = tickerperiod;
  15.   r.r[1] = (int)&callafter;
  16.   r.r[2] = (int)private_word;
  17.   if (enableticking)
  18.     _kernel_swi(OS_CallAfter,&r,&r);
  19. }
  20.  
  21. void killticking(void *private_word)
  22. {
  23.   enableticking=0;
  24.   _swix(OS_RemoveTickerEvent,_IN(0)|_IN(1),&callafter,private_word);
  25.   dropper();
  26. }
  27.  
  28. RETURNMETHOD callback_handler( _kernel_swi_regs *r, void *private_word )
  29. { r=r;
  30.   ticker();
  31.   setcallafter(private_word);
  32.   return VIAR14;
  33. }
  34.  
  35. RETURNMETHOD callafter_handler( _kernel_swi_regs *r, void *private_word )
  36. { _kernel_swi_regs k;
  37.   r=r;
  38.   if (enableticking)
  39.   { k.r[0]=(int)&callback;
  40.     k.r[1]=(int)private_word;
  41.     _kernel_swi(OS_AddCallBack,&k,&k);
  42.   }
  43.   return VIAR14;
  44. }
  45.